<?
class zoekertjesController extends secured_basic_action{
	
	// rechten checken
	protected function initController(){
	
		$this -> bewGroep -> fill();
		
				$this -> view -> module = "zoekertjes";

	
	
	}

	public function indexAction(){
	
	
	require_once('./application/models/zoekerModel.php');
		
		// template setten		
		$this -> view -> setTpl('gebruiker_items_list.php');
		$this -> view -> action = "Zoekertjes";
		
		if(isset($this -> bewGroepId)){
		$this -> view -> toevoegenLink = "/gebruiker/zoekertjes/toevoegen/".$this -> bewGroepId;
		}else{
		$this -> view -> toevoegenLink = "/gebruiker/zoekertjes/toevoegen/";
		}
		$this -> view -> itemName = "zoekertjes";
		
		$this -> view -> toevoegenText = "Zoekertje toevoegen";
	
		
		$model = zoekerModel::getInstance($this -> conn);
		
		$list = new item_list($model -> getZoekerUser($this -> bewGroep), 5);
		if(isset($this -> bewGroepId)){
		
		$list -> setEditUrl('/gebruiker/zoekertjes/bewerken/'.$this -> bewGroepId.'');
		$list -> setDeleteUrl('/gebruiker/zoekertjes/verwijderen/'.$this -> bewGroepId.'');
		$list -> setPageUrl('/gebruiker/zoekertjes/'.$this -> bewGroepId.'');
		
		}else{
		$list -> setEditUrl('/gebruiker/zoekertjes/bewerken');
		$list -> setDeleteUrl('/gebruiker/zoekertjes/verwijderen');
		$list -> setPageUrl('/gebruiker/zoekertjes');
		}
		
		
		
		if($this -> request -> getParam(0) != NULL){
			
			if(isset($this -> bewGroepId)){
						$page = $this -> request -> getParam(1);

			}else{
			$page = $this -> request -> getParam(0);
			}
		}else{
			$page = 0;
		}
		
		
		if($list -> isEmpty()){
		
			$this -> view -> isEmpty = true;
		
		}

		
		$this -> view -> itemList = $list -> renderPage($page);
		
		if($list -> getNextPage() != NULL){
	
			$this -> view -> nextLink = $list -> getNextPage();
		}
		if($list -> getPrevPage() != NULL){
	
			$this -> view -> prevLink = $list -> getPrevPage();
		}
		
		$this -> view -> render();
	}

	public function toevoegenAction(){
		// view settings
		$this -> view -> setTpl('gebruiker_items.php');
		// wysiwyg script laden
		$this -> view -> addScript(view::PATH_TO_SCRIPT.'editor/tiny_mce.js');
		$this -> view -> action = "zoeker toevoegen";
		
		// nieuw formulier aanmaken
		$form = new form('frm_zoeker',form::POST);
		
		// velden aanmaken
		$titel = new form_element_textField('frm_titel');
		$type = new form_element_listBox('frm_type');
		$bericht = new form_element_textArea('frm_bericht');
		$btn = new form_element_button('frm_btn');
		
		// labels toevoegen
		$titel -> addLabel('Zoeker titel:');
		$type -> addLabel('Zoeker type:');
		$bericht -> addLabel('Zoeker tekst:');
		
		// button text
		$btn -> setValue('Toevoegen');
		
		$type -> add('Aanvraag',0);
		$type -> add('Aanbieding',1);

		
		
		
		// validate regels toekennen
		
		$titel -> addRule('notNull', 'Je moet een titel invoeren');
		$bericht -> addRule('notNull','Je moet een zoeker ingeven');
		//$type -> addRule('isIn', 'Het geselecteerde type bestaat niet', array('0','1'));

		// zorgen dat de textarea de juiste class meekrijgt 
		$bericht -> getHtml() -> setAttribute('class', 'wysiwyg');
		
		
		// elementen toevoegen aan het form object
		$form -> addElementRange(array($titel,$type,$bericht,$btn));
		
		
		
		// form doosturen naar de view
		$this -> view -> form = $form;
		
	
		if($form -> isSend()){
			
			// hier is alles in orde dus kunnen we de data verwerken
			if($form -> isValid()){
			$zoeker = new item_zoeker($this -> conn);
			$zoeker -> geb_id = $this -> bewGroep -> id;
			$zoeker -> title = $titel -> getSend();
			$zoeker -> zoeker_text = $bericht -> getSend();
			$zoeker -> zoeker_type = $type -> getSend();
			$zoeker -> insert();
			
			// succes bericht meegeven aan de view 
			$this -> view -> succes = 'Zoekertje is succesvol toegevoegd';
			}else{
			// hier gaat iets fout
		//	echo 'error';
			$this -> view -> errors = $form -> getErrors();
			
			
			}
		
		
		
		}
		$this -> view -> render();
	}
	public function bewerkenAction(){
	
	
	
		$zoeker = new item_zoeker($this -> conn);
	
	if(isset($this -> bewGroepId)){
		$zoeker -> id = $this -> request -> getParam(1);
		}else{
				$zoeker -> id = $this -> request -> getParam(0);

		}
	
	
	
	
		
		$zoeker -> fill();
		
		
		// view settings
		$this -> view -> setTpl('gebruiker_items.php');
		// wysiwyg script laden
		$this -> view -> addScript(view::PATH_TO_SCRIPT.'editor/tiny_mce.js');
		$this -> view -> action = "zoeker bewerken";
		
		// nieuw formulier aanmaken
		$form = new form('frm_zoeker',form::POST);
		
		// velden aanmaken
		$titel = new form_element_textField('frm_titel');
		$type = new form_element_listBox('frm_type');
		$bericht = new form_element_textArea('frm_bericht');
		$btn = new form_element_button('frm_btn');
		
		// labels toevoegen
		$titel -> addLabel('Zoeker titel:');
		$type -> addLabel('Zoeker type:');
		$bericht -> addLabel('Zoeker tekst:');
		
		// button text
		
		$titel -> setValue($zoeker -> title);
		$bericht -> setValue($zoeker -> zoeker_text);
		$btn -> setValue('Wijzigen');
		
		$type -> add('Aanvraag',0);
		$type -> add('Aanbieding',1);

		
		
		
		// validate regels toekennen
		
		$titel -> addRule('notNull', 'Je moet een titel invoeren');
		$bericht -> addRule('notNull','Je moet een zoeker ingeven');
		//$type -> addRule('isIn', 'Het geselecteerde type bestaat niet', array('0','1'));

		// zorgen dat de textarea de juiste class meekrijgt 
		$bericht -> getHtml() -> setAttribute('class', 'wysiwyg');
		
		
		// elementen toevoegen aan het form object
		$form -> addElementRange(array($titel,$type,$bericht,$btn));
		
		
		
		// form doosturen naar de view
		$this -> view -> form = $form;
		
	
		if($form -> isSend()){
			
			// hier is alles in orde dus kunnen we de data verwerken
			if($form -> isValid()){

			$zoeker -> title = $titel -> getSend();
			$zoeker -> zoeker_text = $bericht -> getSend();
			$zoeker -> zoeker_type = $type -> getSend();
			$zoeker -> update();

			$titel -> setValue($zoeker -> title);
			$bericht -> setValue($zoeker -> zoeker_text);
			
			
			// succes bericht meegeven aan de view 
			$this -> view -> succes = 'Zoekertje is succesvol gewijzigd';
			}else{
			// hier gaat iets fout
		//	echo 'error';
			$this -> view -> errors = $form -> getErrors();
			
			
			}
		
		
		
		}
		$type -> setValue($zoeker -> zoeker_type);
		$this -> view -> render();
	}
	public function verwijderenAction()
	{
		$this -> view -> setTpl('gebruiker_items_verwijderen.php');
	
		$this -> view -> addStyle(view::PATH_TO_STYLE.'beheerder.css');
		$this -> view -> action = "zoekertje verwijderen";
		$this -> view -> module = "zoekertjes";
		if(isset($this -> bewGroepId)){
		$this -> view -> id = $this -> request -> getParam(0) .'/' .$this -> request -> getParam(1);
		}else{
		$this -> view -> id = $this -> request -> getParam(0);
		}	
		$this -> view -> render();
	}

	public function verwijderAction()
	{
		$zoeker = new item_zoeker($this -> conn);
		$zoeker -> id = $this -> request -> getParam(0);
		$zoeker -> verwijder();
		if(isset($this -> bewGroep)){
		$zoeker -> id = $this -> request -> getParam(1);
			$zoeker -> verwijder();
			$this -> redirect('/gebruiker/zoekertjes/'.$this -> request -> getParam(0));
			}else{
				$zoeker -> id = $this -> request -> getParam(0);
			$zoeker -> verwijder();
			$this -> redirect('/gebruiker/zoekertjes/');
		}

	}
}


?>